我有一个Python脚本,其中导入的csv值超过1000个逗号。这些值是csv中的字符串。在导入到Python之前,我需要从值中删除逗号,并将字符串转换为csv中的舍入浮点数。在
我尝试过将所有新值附加到一个列表中以使用csv.writer
,但我无法想出如何让编写器只替换列中有逗号的值。以下是我目前所掌握的情况。公司名称:
import csv
RoomReport = r'path_to_csv'
new_values_list = []
f = open(RoomReport, "r")
reader = csv.reader(f)
writer = csv.writer(f)
for row in reader:
useable_area = row[7]
if "," in useable_area:
useable_area_no_comma = useable_area.replace(",","")
useable_area_rounded = int(round(float(useable_area_no_comma)))
new_values_list.append(useable_area_rounded)
f.close()
正如我在一篇评论中提到的,只有当输入csv文件的格式允许数字中的逗号与每个数字之间的逗号区分开来时,才能做到这一点。在
以下是一种方法的示例(通过引用所有值):
这里的代码可以满足您的需要。它使用
^{pr2}$locale.atof
函数来简化数字的清理:它从示例输入创建的
RoomReport_cleaned.csv
将包含以下内容:请注意,由于输出中的值不再嵌入逗号,因此不再需要引用所有字段,因此可以通过指定
csv.QUOTE_ALL
来省略。在也许像这样?在
相关问题 更多 >
编程相关推荐