Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CSV转换行内的数据_Python_Csv_Translate_Punctuation - Fatal编程技术网

Python CSV转换行内的数据

Python CSV转换行内的数据,python,csv,translate,punctuation,Python,Csv,Translate,Punctuation,我希望有人能给我指出正确的方向 翻译行[x]内数据的有效方法是什么 例如,我想将以下内容转换为:街道、大道、道路、法院到街、大道、路、ct 我在考虑使用字典,原因是有时第一个字母会大写,有时不会:{'ave':['Avenue','Avenue','Avenue','av','av']} 话虽如此,我是否可以(在翻译之前)将所有数据转换为小写(在原始csv文件中),以防止使用包含混合大写的数据 这适用于500-1000行之间的csv文件。。 多谢各位 编辑:我应该补充一点,行[x]字符串类似于:

我希望有人能给我指出正确的方向

翻译行[x]内数据的有效方法是什么

例如,我想将以下内容转换为:街道、大道、道路、法院到街、大道、路、ct

我在考虑使用字典,原因是有时第一个字母会大写,有时不会:
{'ave':['Avenue','Avenue','Avenue','av','av']}

话虽如此,我是否可以(在翻译之前)将所有数据转换为小写(在原始csv文件中),以防止使用包含混合大写的数据

这适用于500-1000行之间的csv文件。。 多谢各位

编辑:我应该补充一点,行[x]字符串类似于:
'123 main street'
,这就是我想要翻译成
'123 main st'

编辑#2:


谢谢大家

正如你们所建议的,我解决这个问题的方法是建立一本字典。例如,假设任何形式的Avenue-我想显示为“Ave”:

然后将其与地址字段中的每个单词一起使用,如下所示:

word = mapper.get(word.lower(), word)

您只需在csv字段中调用lower()方法。这是python中字符串对象常用的一种方法。当一行[]等于
'123 main avenue'
时,这种方法有效吗?还是必须执行某种类型的
contains
方法?@jes516对于
'123 main avenue'
中的每个单词,我将运行:
word=mapper.get(word.lower(),word)
,然后
加入结果(在一个空格上)。像这样:add1=
'123 MAIN STREET'
我会做:
为add1中的i.split(“”):
为add1中的i.split(“”):
如果我想创建上面的代码(在我最初的问题中)在函数中,我必须在函数内部定义字典吗?或者我可以在函数外部定义字典吗?我想创建更多这样的函数,这将需要更多的字典。。
mapper = {'ave': 'Ave', 'avenue': 'Ave', 'av': 'Ave', 'st': 'Street', 'street': 'Street, ...}
word = mapper.get(word.lower(), word)