我正在尝试创建一个脚本来列出给定目录中的所有目录,子目录和文件.
我试过这个:
import sys,os
root = "/home/patate/directory/"
path = os.path.join(root, "targetdirectory")
for r,d,f in os.walk(path):
for file in f:
print os.path.join(root,file)
Run Code Online (Sandbox Code Playgroud)
不幸的是,它无法正常工作.
我得到了所有文件,但不是完整的路径.
例如,如果dir结构是:
/home/patate/directory/targetdirectory/123/456/789/file.txt
它会打印:
/home/patate/directory/targetdirectory/file.txt
我需要的是第一个结果.任何帮助将不胜感激!谢谢.
我是Python的新手,所以这个问题可能有点基础.我有44个csv文件具有相同的标题和不同的文件名.我想将它们全部合并到一个文件中.
每个文件名为"Votes- [member-name] - (2010-2014) - [download-time] .csv"
标头不包含成员名称的列.我想补充一点,作为第一项.
这是我想要做的部分:如何在Python中合并200个csv文件.我只是不确定如何遍历具有不同名称的文件,并将这些名称添加到csv.
谢谢!
我有一个向RabbitMQ队列发送消息的视图。
message = {'origin': 'Bytes CSV',
'data': {'csv_key': str(csv_entry.key),
'csv_fields': csv_fields
'order_by': order_by,
'filters': filters}}
...
queue_service.send(message=message, headers={}, exchange_name=EXCHANGE_IN_NAME,
routing_key=MESSAGES_ROUTING_KEY.replace('#', 'bytes_counting.create'))
Run Code Online (Sandbox Code Playgroud)
对于我的消费者,我有一个很长的过程来生成 CSV。
def create(self, data):
csv_obj = self._get_object(key=data['csv_key'])
if csv_obj.status == CSVRequestStatus.CANCELED:
self.logger.info(f'CSV {csv_obj.key} was canceled by the user')
return
result = self.generate_result_data(filters=data['filters'], order_by=data['order_by'], csv_obj=csv_obj)
csv_data = self._generate_csv(result=result, csv_fields=data['csv_fields'], csv_obj=csv_obj)
file_key = self._post_csv(csv_data=csv_data, csv_obj=csv_obj)
csv_obj.status = CSVRequestStatus.READY
csv_obj.status_additional = CSVRequestStatusAdditional.SUCCESS
csv_obj.file_key = file_key
csv_obj.ready_at = timezone.now()
csv_obj.save(update_fields=['status', 'status_additional', 'ready_at', 'file_key'])
self.logger.info(f'CSV {csv_obj.name} created')
Run Code Online (Sandbox Code Playgroud)
长过程发生在 内部self._generate_csv,因为 …
我正在尝试这样做,
import glob
interesting_files = glob.glob("/home/tcs/PYTHONMAP/test1/*.csv")
header_saved = False
with open('/home/tcs/PYTHONMAP/output.csv','wb') as fout:
for filename in interesting_files:
with open(filename) as fin:
header = next(fin)
if not header_saved:
fout.write(header)
header_saved = True
for line in fin:
fout.write(line)
Run Code Online (Sandbox Code Playgroud)
并得到
File "/home/tcs/.config/spyder-py3/temp.py", line 11, in <module>
fout.write(header)
TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)
我对python不太了解,请帮助我还想知道如何将1个大csv拆分为多个具有相同标题的csv。
Downloads/challenges)的文件夹。azerbaijan_challenge_entrants.csv.我想创建一个新的 CSV ( all_entrants.csv),其中包含来自所有 100 个 CSV 的所有数据,添加一个新列:challenge,其中应包含行数据来自的 CSV 的名称。
我通常喜欢 Python 来完成这样的任务。但我正在努力完成这项工作。任何帮助,将不胜感激!
我已经为此查看了许多解决方案,但找不到适合我想做的事情的解决方案。
基本上我有2个CSV文件:
所有.csv
1 Wed Oct 03 41.51093923 41.51093923 41.51093923 41.51093923
2 Wed Oct 04
3 Wed Oct 05 41.43764015 41.43764015 41.43764015
4 Wed Oct 06 41.21395681 41.21395681 41.21395681
5 Wed Oct 07 42.07607442 42.07607442 42.07607442
6 Wed Oct 08 42.0074109 42.0074109 42.0074109
7 Wed Oct 09 41.21395681 41.21395681
8 Wed Oct 10 41.43764015 41.43764015 41.43764015 41.43764015
9 Wed Oct 11 41.21395681 41.21395681 41.21395681 41.21395681
Run Code Online (Sandbox Code Playgroud)
原始文件
10 Wed Oct 12 41.43764015
11 Wed Oct 13
12 Wed Oct 14 42.07607442 …Run Code Online (Sandbox Code Playgroud)